<?php

namespace Maestros\Model\Entity;

use Componentes\Model\Entity\GenericModel;

class Persona extends GenericModel {

    protected $id;
    protected $_nacionalidad;
    protected $cedula;
    protected $nombre1;
    protected $nombre2;
    protected $apellido1;
    protected $apellido2;
    protected $_sexo;
    protected $_estadoCivil;
    protected $fechaNacimiento;
    protected $email;
    protected $_discapacidad;
    protected $_ocupacion;
    protected $otroOrganismo;
    protected $_statusModificacion;

    public function __construct(array $options = null) {
        if (is_array($options)) {
            $this->setOptions($options);
        }
    }

    public function setId($idPersona) {
        $this->id = $idPersona;
    }

    public function getId() {
        return $this->id;
    }

    public function setNacionalidad($idNacionalidad) {
        $this->_nacionalidad = $idNacionalidad;
    }

    public function getNacionalidad() {
        return $this->_nacionalidad;
    }

    public function setCedula($cedula) {
        $this->cedula = $cedula;
    }

    public function getCedula() {
        return $this->cedula;
    }

    public function setNombre1($nombre1) {
        $this->nombre1 = $nombre1;
    }

    public function getNombre1() {
        return $this->nombre1;
    }

    public function setNombre2($nombre2) {
        $this->nombre2 = $nombre2;
    }

    public function getNombre2() {
        return $this->nombre2;
    }

    public function setApellido1($apellido1) {
        $this->apellido1 = $apellido1;
    }

    public function getApellido1() {
        return $this->apellido1;
    }

    public function setApellido2($apellido2) {
        $this->apellido2 = $apellido2;
    }

    public function getApellido2() {
        return $this->apellido2;
    }

    public function setSexo($idSexo) {
        $this->_sexo = $idSexo;
    }

    public function getSexo() {
        return $this->_sexo;
    }

    public function setEstadoCivil($idEstadoCivil) {
        $this->_estadoCivil = $idEstadoCivil;
    }

    public function getEstadoCivil() {
        return $this->_estadoCivil;
    }

    public function setFechaNacimiento($fechaNacimiento) {
        $this->fechaNacimiento = $fechaNacimiento;
    }

    public function getFechaNacimiento() {
        return $this->fechaNacimiento;
    }

    public function setEmail($email) {
        $this->email = $email;
    }

    public function getEmail() {
        return $this->email;
    }

    public function setDiscapacidad($idDiscapacidad) {
        $this->_discapacidad = $idDiscapacidad;
    }

    public function getDiscapacidad() {
        return $this->_discapacidad;
    }

    public function setOcupacion($idOcupacion) {
        $this->_ocupacion = $idOcupacion;
    }

    public function getOcupacion() {
        return $this->_ocupacion;
    }

    public function setOtroOrganismo($organismo) {
        $this->otroOrganismo = $organismo;
    }

    public function getOtroOrganismo() {
        return $this->otroOrganismo;
    }

    public function setStatusModificacion($idStatusModificacion) {
        $this->_statusModificacion = $idStatusModificacion;
    }

    public function getStatusModificacion() {
        return $this->_statusModificacion;
    }

    /**
     * Convierte un Objeto en un Array
     * @param    object  $object El objeto a convertir
     * @return  arreglo
     */
    public function objectToArray() {
        if (!is_object($this) && !is_array($this)) {
            return $this;
        }
        if (is_object($this)) {
            $array = array(
                'id' => $this->id,
                '_nacionalidad' => $this->_nacionalidad,
                'cedula' => $this->cedula,
                'nombre1' => $this->nombre1,
                'nombre2' => $this->nombre2,
                'apellido1' => $this->apellido1,
                'apellido2' => $this->apellido2,
                '_sexo' => $this->_sexo,
                '_estadoCivil' => $this->_estadoCivil,
                'fechaNacimiento' => $this->fechaNacimiento,
                'email' => $this->email,
                '_discapacidad' => $this->_discapacidad,
                '_ocupacion' => $this->_ocupacion,
                'otroOrganismo' => $this->otroOrganismo,
                '_statusModificacion' => $this->_statusModificacion
            );
        }
        return $array;
    }

}
?>